package com.event.management.frontend.dto;

import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户电子票数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserTicketDTO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 电子票ID
     */
    private Long id;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 订单ID
     */
    private Long orderId;
    
    /**
     * 活动ID
     */
    private Long eventId;
    
    /**
     * 活动名称
     */
    private String eventName;
    
    /**
     * 票种ID
     */
    private Long ticketTypeId;
    
    /**
     * 票种名称
     */
    private String ticketTypeName;
    
    /**
     * 票码
     */
    private String ticketCode;
    
    /**
     * 票面价格（分）
     */
    private Integer price;
    
    /**
     * 活动开始时间
     */
    private LocalDateTime eventStartTime;
    
    /**
     * 活动结束时间
     */
    private LocalDateTime eventEndTime;
    
    /**
     * 活动地点
     */
    private String eventVenue;
    
    /**
     * 电子票状态：0-未使用，1-已使用，2-已过期，3-已取消
     */
    private Integer status;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 使用时间
     */
    private LocalDateTime useTime;
    
    /**
     * 是否已回答问卷：0-未回答，1-已回答
     */
    private Integer questionnaireAnswered;
} 